﻿namespace Loki.Engine
{
    public interface IDataEngine
    {
        /// <summary>
        /// Loads the data definitions.
        /// </summary>
        /// <param name="P_DataDefinitions">The data definitions.</param>
        void LoadData(params string[] P_DataDefinitions);

        /// <summary>
        /// Gets the data model.
        /// </summary>
        /// <typeparam name="TDataModel">The type of the data model.</typeparam>
        TDataModel GetDataModel<TDataModel>();

        /// <summary>
        /// Gets the data model.
        /// </summary>
        /// <typeparam name="TDataModel">The type of the data model.</typeparam>
        /// <param name="P_ModelID">The datamodel name.</param>
        TDataModel GetDataModel<TDataModel>(string P_ModelID);
    }
}
